 /**
 * @(#) StartupCommand.as
 *
 * @date		2009. 02. 25.
 * @version		1.0
 * @author		Shin, Yunwoo
 * @description	Application 시작을 처리하는 Command
 * 				 
 */
package com.skt.common_hr.teamworktime.controller
{
	
	import com.skt.common_hr.teamworktime.model.CalendarProxy;
	import com.skt.common_hr.teamworktime.model.DelWorkTimeProxy;
	import com.skt.common_hr.teamworktime.model.MemberSearchProxy;
	import com.skt.common_hr.teamworktime.model.OrgProxy;
	import com.skt.common_hr.teamworktime.model.ReqVacationProxy;
	import com.skt.common_hr.teamworktime.model.ReqWorkTimeProxy;
	import com.skt.common_hr.teamworktime.model.VacationCodeProxy;
	import com.skt.common_hr.teamworktime.view.TeamWorkTimeMediator;
	import com.skt.common_hr.work_sac.model.TeamVacationProxy;
	import com.skt.common_hr.work_sac.model.VacationQuotaProxy;
	
	import org.puremvc.as3.multicore.interfaces.ICommand;
	import org.puremvc.as3.multicore.interfaces.INotification;
	import org.puremvc.as3.multicore.patterns.command.SimpleCommand;
	
	
	public class StartupCommand extends SimpleCommand implements ICommand
	{
		
		override public function execute(note:INotification):void
		{
			var app:TeamWorkTime = note.getBody() as TeamWorkTime;
			trace("execute startupCommand in TeamWorkTime Module");
			
			facade.registerProxy(new MemberSearchProxy());
			facade.registerProxy(new CalendarProxy());
			facade.registerProxy(new VacationCodeProxy());
			facade.registerProxy(new OrgProxy());
			facade.registerProxy(new ReqVacationProxy());
			facade.registerProxy(new ReqWorkTimeProxy());
			facade.registerProxy(new DelWorkTimeProxy());
			
			//2011.12.23
			facade.registerProxy(new VacationQuotaProxy());
			facade.registerProxy(new TeamVacationProxy());
			
			
			// MVC 모델중 View와 관련한 mediator들을 등록한다.
			facade.registerMediator(new TeamWorkTimeMediator(app.view));
		}
	}
}